package org.lcc.Service;

import org.lcc.model.VO.ExamAndAnswerVO;
import org.lcc.model.VO.ExamScoreDetailVO;
import org.lcc.model.VO.StudentgradeinquiryVo;
import org.lcc.model.dto.GetExamScoreListDto;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

@Service
public interface TestResultsService {
    /**
     * 获取考试成绩列表
     * @param getExamScoreListDto 查询参数
     * @return 考试成绩列表和总记录数
     */
    Map<String, Object> getExamScoreList(GetExamScoreListDto getExamScoreListDto);
    
    /**
     * 获取考试详情分析
     * @param examId 考试ID
     * @return 考试详情分析数据
     */
    ExamScoreDetailVO getExamScoreDetail(Integer examId);
    // 获取班级信息
    List< Map<String, Long> >getExamClass(String schoolNumber);
//获取试卷信息
    List<Map<String, Long>> getExam(String classID);
//获取饼形图信息
    String getPieChart(String classID, String examId);
    //学生成绩查询
    List<StudentgradeinquiryVo> Studentgradeinquiry(String studentID);
    //学生成绩详情查询
    ExamAndAnswerVO Studentresultsfordetails(String examId, String studentID);
    //修改邮箱
    void updateEmail(String username, String password, String newEmail);
    //修改密码
    void updatePassword(String username, String oldPassword, String newPassword);
//获取该学生的错题本
    Map<String, Object> getMistakeCollection(String studentID, Integer pageNum, Integer pageSize, String searchContent, String status);
//更新错题掌握状态
    void updateMistakeStatus(Integer mistakeId, String status);
    //获取学生所属班级信息
    List<Map<String, Object>> getStudentClassInfo(String studentID);
}
